package com.briup.es.service;

import com.briup.es.domain.bean.User;
import com.briup.es.domain.dto.LoginDto;
import com.briup.es.domain.dto.RegisterUserDto;
import com.briup.es.domain.dto.UpdatePasswordDto;
import com.briup.es.domain.dto.UpdateUserDto;

import java.util.Map;

/**
 * 用户相关操作的接口
 */
public interface UserService {

    /**
     * 用户登录
     *
     * @param loginDto 用户输入的登录信息
     * @return Map<String, Object> 登录成功的凭证以及用户信息
     */
    Map<String, Object> login(LoginDto loginDto);

    /**
     * 根据用户id查询用户信息
     *
     * @param userId 用户id
     * @return 用户信息
     */
    User queryById(Integer userId);

    /**
     * 注册用户
     *
     * @param userDto 用户输入的数据
     */
    void register(RegisterUserDto userDto);

    /**
     * 修改用户数据
     *
     * @param userDto 用户数据实体
     */
    void updateUser(UpdateUserDto userDto);

    /**
     * 修改当前登录用户的密码
     *
     * @param passwordDto 修改密码的数据实体
     */
    void updatePassword(UpdatePasswordDto passwordDto);
}

